#include <iostream>
#include <memory>
using namespace std;

void test(){
    auto_ptr<int> ap;
    auto_ptr<int> ap2(new int(10));
    cout << ap2.get()<<endl;
    cout << *ap2 <<endl;
    //=================auto_ptr的问题
    auto_ptr<int> ap3 = ap2;
    //将ap2赋值给ap3会将ap2所托管的堆空间的控制权交给新对象ap3，
    //并且把ap2的底层置为空指针
    cout<<ap2.get()<<endl;
    cout << ap3.get()<<endl;
    cout<<*ap3<<endl;
    cout<<*ap2<<endl;
}
int main()
{
    test();
    return 0;
}

